import java.io.*;
import java.text.BreakIterator;
import java.util.Scanner;

public class Demo {
    public static void main(String[] args) {
        do {
            Scanner sc = new Scanner(System.in);
            System.out.println("输入复制文件的路径");
            File headstream = new File(sc.next());
            //表示此抽象路径名的文件或目灵是否存在，
            if (headstream.exists()) {
                System.out.println("输入目标文件的路径");
                File target = new File(sc.next());
                //如果文件不在在
                //使用FiLeOutputStream写文件不能建立多级文件。需要使用mkdirs()，如果文件夹已经存在，是不会再次创建的
                if (!target.exists()) {
                    target.getParentFile();
                }
                //为了防止在创建文件的时候，避免其文件所在的文件夹 不存在然后抛出异常
                FileInputStream in = null;
                //定义输入流
                FileOutputStream out = null;
                //定义输出流
                //检查是否有异常
                try {
                    in = new FileInputStream(headstream);
                    out = new FileOutputStream(target);
                    byte[] buf = new byte[1024 * 10];
                    //1024的整数倍
                    int len;
                    while ((len = in.read(buf)) != -1) {
                        out.write(buf, 0, len);
                        //上面读多少就写多少
                    }
                } catch (IOException e) {
                    e.printStackTrace();
                } finally {
                    if (in != null) {
                        try {
                            in.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    if (out != null) {
                        try {
                            out.close();
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                    }
                    System.out.println("文件复制成功!");
                    break;
                }
            } else {
                System.out.println("源文件不存在");
                System.out.println("请再次输入");
            }

        } while (true);

    }
}


